package CapaDatos.listas;

import CapaDatos.Empleado;
import java.util.TreeSet;
import java.util.Comparator;
import java.util.Iterator;

public class ListaEmpleados
{
    private TreeSet <Empleado> empleados;
    private Comparator comparator;

    public ListaEmpleados()
    {
        comparator = new CompararPersonas();
        empleados = new TreeSet(comparator);
    }

    public boolean agregar (Empleado empleado) {
        return empleados.add(empleado);
    }

    public boolean actualizar (Empleado empleado) {
        if (!eliminar (empleado.getCedula()))
            return false;

        return agregar(empleado);
    }

    public Empleado buscar(String cedula) {
        Empleado auxiliar;
        Iterator iterator = empleados.iterator();

        while (iterator.hasNext())
        {
            auxiliar = (Empleado) iterator.next();

            if (auxiliar.getCedula().equals(cedula))
                return auxiliar;
        }

        return null;
    }

    public boolean eliminar (String cedula) {
        Empleado auxiliar = buscar (cedula);
        return empleados.remove(auxiliar);
    }

    public Empleado[] array() {
        return empleados.toArray(new Empleado[0]);
    }
}
